The information technology environment of today is a rapidly changing landscape. Technologies that are “cutting edge” one day can soon become obsolete. Similarly, hardware and software configurations for managing information can change significantly over time. For example, it may be accepted practice during one period of time to operate with computer systems in a client-server-type configuration. Advances in technology, such as more powerful desktop computers replacing dumb terminals, for example, could rapidly lead to a transition from client-server to a peer-to-peer-type configuration. Then perhaps, advances, such as an improvement in networking and/or the development or improvement of virtual server environments, could lead to a new type of client-server-type environment, such as cloud computing.
One challenge in keeping up with the ever changing information technology landscape is how to update information technology components from one configuration to a desired new configuration in such a way that they operate correctly. Often, incompatibilities between a current configuration and the configuration to which the components are to be updated can cause an operation associated with the update to fail. In case of such a failure, a human technician is currently utilized to resolve the failure.